//OverrideTest.java
package com.ylaihui.exception;

import java.io.FileNotFoundException;
import java.io.IOException;

public class OverrideTest {
	
	public static void main(String[] args) {
		OverrideTest test = new OverrideTest();
		test.display(new SubClass());
	}

	public void display(SuperClass s){
		try {
			s.method();
		} catch (IOException e) {  // SuperClass 抛出的异常是 IOException，处理 IOException 异常
			// 如果子类抛出的异常更大，那么 父类就无法 catch 子类的异常。
			// 所以禁止子类抛出的异常更大
			e.printStackTrace();
		}
	}
}

class SuperClass{
	public void method() throws IOException{
	}
}

class SubClass extends SuperClass{
	// 子类重写的方法抛出的异常类型小于等于父类被重写的方法抛出的异常类型
	public void method()throws FileNotFoundException{	
	}
}